System and method for association of a song, music, or other media content with a user&#39;s video content

ABSTRACT

In accordance with an embodiment, described herein is a system and method for association of a song, music, or other media content with a user&#39;s video content. The system enables a user to associate a song, music, or other media content that is associated with an audio clip and a song metadata of a media content, with a video they are about to create, or have created, to create a video moment. A recipient of the video moment can hear the audio clip in combination with the video content, and also view the song metadata overlay, to determine the name of the song and artist that was used in the video, or optionally access the song at a media server, for further listening by the recipient.

CLAIM OF PRIORITY

This application claims the benefit of priority to U.S. ProvisionalPatent Application titled “SYSTEM AND METHOD FOR ASSOCIATION OF A SONG,MUSIC, OR OTHER MEDIA CONTENT WITH A USER′S VIDEO CONTENT”, applicationNo. 62/440,827, filed Dec. 30, 2016; U.S. Provisional Patent Applicationtitled “SYSTEM AND METHOD FOR PROGRAMMING OF SONG SUGGESTIONS FOR USERSOF A SOCIAL MESSAGING ENVIRONMENT”, Application No. 62/440,833, filedDec. 30, 2016; and U.S. Provisional Patent Application titled “SYSTEMAND METHOD FOR PROVIDING A VIDEO WITH LYRICS OVERLAY FOR USE IN A SOCIALMESSAGING ENVIRONMENT”, Application No. 62/440,837, filed Dec. 30, 2016;each of which above applications are herein incorporated by reference.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF INVENTION

Embodiments of the invention are generally related to providing digitalmedia content, and are particularly related to a system and method forassociation of a song, music, or other media content with a user's videocontent.

BACKGROUND

Today's technology-enabled social messaging environments enable users touse video messaging software applications (apps) to communicate withfriends and to express themselves. The allure of such videofunctionality is that it can be used to capture a personal moment ofsome significance to the user. Unfortunately, there is no easy way toadd a media content, for example a particular song, to a video message.Existing techniques generally require the user to send a video messagewith ambient music playing in the background, which offers poor qualityand does not provide a context for the recipient of the video message todetermine which, e.g., song or artist, is being included.

SUMMARY

In accordance with an embodiment, described herein is a system andmethod for association of a song, music, or other media content with auser's video content. The system enables a user to associate a song,music, or other media content that is associated with an audio clip anda song metadata of a media content, with a video they are about tocreate, or have created, to create a shareable file or other set ofdata, generally referred to herein as a video moment. A recipient of thevideo moment can hear the audio clip in combination with the videocontent, and also view the song metadata overlay, to determine the nameof the song and artist that was used in the video, or optionally accessthe song at a media server, for further listening by the recipient.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates an example digital media content environment, inaccordance with an embodiment.

FIG. 2 illustrates a system that enables access to media content from asocial messaging environment, in accordance with an embodiment.

FIG. 3 illustrates association of a song, music, or other media contentwith a user's video content, to create a video moment, in accordancewith an embodiment.

FIG. 4 further illustrates the association of a song, music, or othermedia content with a user's video content, to create a video moment, inaccordance with an embodiment.

FIG. 5 further illustrates the association of a song, music, or othermedia content with a user's video content, to create a video moment, inaccordance with an embodiment.

FIG. 6 illustrates a process of associating a song, music, or othermedia content with a user's video content, to create a video moment, inaccordance with an embodiment.

FIG. 7 illustrates the programming of song suggestions for users of asocial messaging environment, in accordance with an embodiment.

FIG. 8 further illustrates the programming of song suggestions for usersof a social messaging environment, in accordance with an embodiment.

FIG. 9 further illustrates the programming of song suggestions for usersof a social messaging environment, in accordance with an embodiment.

FIG. 10 illustrates a process of programming song suggestions for usersof a social messaging environment, in accordance with an embodiment.

DETAILED DESCRIPTION

As described above, existing techniques for use of music and video in asocial messaging environment, generally require the user to send a videomessage with ambient music playing in the background, which offers poorquality and does not provide a context for the recipient of the videomessage to determine which, e.g., song or artist, is being included.

In accordance with an embodiment, described herein is a system andmethod for association of a song, music, or other media content with auser's video content. The system enables a user to associate a song,music, or other media content that is associated with an audio clip anda song metadata of a media content, with a video they are about tocreate, or have created, to create a shareable file or other set ofdata, generally referred to herein as a video moment. A recipient of thevideo moment can hear the audio clip in combination with the videocontent, and also view the song metadata overlay, to determine the nameof the song and artist that was used in the video, or optionally accessthe song at a media server, for further listening by the recipient.

Digital Media Content Environments

FIG. 1 illustrates an example digital media content environment, inaccordance with an embodiment.

As illustrated in FIG. 1, in accordance with an embodiment, a mediadevice 102, operating as a client device, can receive and play mediacontent provided by a media server system 142 (media server), or byanother system or peer device. In accordance with an embodiment, themedia device can be, for example, a personal computer system, handheldentertainment device, tablet device, smartphone, television, audiospeaker, in-car entertainment system, or other type of electronic ormedia device that is adapted or able to prepare a media content forpresentation, control the presentation of media content, and/or play orotherwise present media content.

In accordance with an embodiment, each of the media device and the mediaserver can include, respectively, one or more physical device orcomputer hardware resources 104, 144, such as one or more processors(CPU), physical memory, network components, or other types of hardwareresources.

Although, for purposes of illustration, a single client media device andmedia server are shown, in accordance with an embodiment a media servercan support the simultaneous use of a plurality of client media devices.Similarly, in accordance with an embodiment, a client media device canaccess media content provided by a plurality of media servers, or switchbetween different media streams produced by one or more media servers.

In accordance with an embodiment, the media device can optionallyinclude a touch-enabled or other type of display screen having a userinterface 106, which is adapted to display media options, for example asan array of media tiles, thumbnails, or other format, and to determine auser interaction or input. Selecting a particular media option, forexample a particular media tile or thumbnail, can be used as a commandby a user and/or the media device, to the media server, to download,stream or otherwise access a corresponding particular media content itemor stream of media content.

In accordance with an embodiment, the media device can also include asoftware media application 108, together with an in-memory client-sidemedia content buffer 110, and a client-side data buffering logic orsoftware component 112, which can be provided as software or programcode that is executable by a computer system or other processing device,and which can be used to control the playback of media content receivedfrom the media server, for playing either at a requesting media device(i.e., controlling device) or at a controlled media device (i.e.,controlled device), in the manner of a remote control.

In accordance with an embodiment, a connected media environment logic orsoftware component 120, which can be provided as software or programcode that is executable by a computer system or other processing device,can be provided at the media device, either as part of the mediaapplication, or separately, for example as a firmware, to enable themedia device to participate within a connected media environment (e.g.,a Spotify Connect environment) that enables a user to control theplayback of media content at such controlled devices.

In accordance with an embodiment, the client-side data buffering logic,together with the media content buffer, enables a portion of mediacontent items, or samples thereof, to be pre-buffered at a client mediadevice. For example, while media options are being prepared for displayon a user interface, e.g., as media tiles or thumbnails, their relatedmedia content can be pre-buffered at the same time, and cached by one ormore media devices in their media content buffers, for prompt andefficient playback when required.

In accordance with an embodiment, the media server can include anoperating system 146 or other processing environment which supportsexecution of a media server 150 that can be used, for example, to streammusic, video, or other forms of media content to a client media device,or to a controlled device.

In accordance with an embodiment, the media server can provide asubscription-based media streaming service, for which a client mediadevice or user can have an associated account and credentials, and whichenable the user's media device to communicate with and receive contentfrom the media server. A received media-access request from a clientmedia device can include information such as, for example, a networkaddress, which identifies a destination media device to which the mediaserver should stream or otherwise provide media content, in response toprocessing the media-access request.

For example, a user may own several media devices, such as a smartphoneand an audio speaker, which can play media content received from a mediaserver. In accordance with an embodiment, identifying informationprovided with a media-access request can include an identifier, such asan IP address, MAC address, or device name, which identifies that themedia-access request is intended for use with a particular destinationdevice. This allows a user, for example, to use their smartphone as acontrolling device, and their audio speaker as a controlled device towhich media content should be sent. The media server can then send therequested media and/or forward the media-access request to the audiospeaker, even though the request originated at the user's smartphone.

In accordance with an embodiment, one or more application interface(s)148 can receive requests from client media devices, or from othersystems, to retrieve media content from the media server. A contextdatabase 162 can store data associated with the presentation of mediacontent by a client media device, including, for example, a currentposition within a media stream that is being presented by the mediadevice, or a playlist associated with the media stream, or one or morepreviously-indicated user playback preferences. The media server cantransmit context information associated with a media stream to a mediadevice that is presenting that stream, so that the context informationcan be used by the device, and/or displayed to the user. The contextdatabase can be used to store a media device's current media state atthe media server, and synchronize that state between devices, in acloud-like manner. Alternatively, media state can be shared in apeer-to-peer manner, wherein each device is aware of its own currentmedia state which is then synchronized with other devices as needed.

For example, in accordance with an embodiment, when the destinationmedia device to which the media content is being streamed changes, sayfrom a controlling device to a controlled device, or from a firstcontrolled device to a second controlled device, then the media servercan transmit context information associated with an active media contentto the newly-appointed destination device, for use by that device inplaying the media content.

In accordance with an embodiment, a media content database 164 caninclude media content, for example music, songs, videos, movies, orother media content, together with metadata describing that mediacontent. The metadata can be used to enable users and client mediadevices to search within repositories of media content, to locateparticular media content items.

In accordance with an embodiment, a server-side media content bufferinglogic or software component 180, which can be provided as software orprogram code that is executable by a computer system or other processingdevice, can be used to retrieve or otherwise access media content items,in response to requests from client media devices or other systems, andto populate a server-side media content buffer 181, at a media deliverycomponent or streaming service 152, which can be similarly provided assoftware or program code that is executable by a computer system orother processing device, with streams 182, 184, 186 of correspondingmedia content data, which can then be returned to the requesting deviceor to a controlled device.

In accordance with an embodiment, a plurality of client media devices,media server systems, and/or controlled devices, can communicate withone another using a network, for example the Internet 190, a local areanetwork, peer-to-peer connection, wireless or cellular network, or otherform of network. For example, a user 192 can interact 194 with the userinterface at a client media device, and issue requests to access mediacontent, for example the playing of a selected music or video item attheir device, or at a controlled device, or the streaming of a mediachannel or video stream to their device, or to a controlled device.

In accordance with an embodiment, the user's selection of a particularmedia option can be communicated 196 to the media server, via theserver's application interface. The media server can populate itsserver-side media content buffer at the server 204, with correspondingmedia content, 206 including one or more streams of media content data,and can then communicate 208 the selected media content to the user'smedia device, or to a controlled device as appropriate, where it can bebuffered in a client-side media content buffer for playing at thedevice.

In accordance with an embodiment, and as further described below, thesystem can include a server-side media gateway or access point 220,which can be provided as software or program code that is executable bya computer system or other processing device, or other process orcomponent, which operates as a load balancer in providing access to oneor more servers, for use in processing requests at those servers. Thesystem can enable communication between a client media device and aserver, via an access point at the server, and optionally the use of oneor more routers, to allow requests from the client media device to beprocessed either at that server and/or at other servers.

For example, in a Spotify media content environment, Spotify clientsoperating on media devices can connect to various Spotify back-endprocesses via a Spotify “accesspoint”, which forwards client requests toother servers, such as sending one or more metadataproxy requests to oneof several metadataproxy machines, on behalf of the client or end user.

Access to Media Content from Social Messaging Environments

In accordance with an embodiment, the system can enable access todigital media content via a social messaging environment, for examplethrough the use of a client-side messaging application, or a softwareconversational agent or “bot”. The media server can recommend orotherwise determine items of media content appropriate to a particularuser interaction. The recommended media content can be provided to amedia device, in the form of a link or other type of reference by whichthe user of the device can stream, download, access, or otherwise usethe media content.

FIG. 2 illustrates a system that enables access to media content from asocial messaging environment, in accordance with an embodiment.

As illustrated in FIG. 2, in accordance with an embodiment, a socialmessaging environment 240 enables, for each user, a user environment 244that provides a user experience, and the use of a messaging application246 that enables interaction by the user with the social messagingenvironment and with other users.

In accordance with various embodiments, different types of socialmessaging environments can be supported, including, for example, socialnetworking or social media environments (e.g., Instagram), which supportthe sharing of picture-based or other messages between different users,or social messaging environments (e.g., Facebook Messenger) whichsupport the use of a media content bot that operates according to a botconversation logic to provide access to a media content environment.

In accordance with an embodiment, the media server can include arecommendation application program interface (API), which is accessible,e.g., via a HTTP URL, and which provides access to a recommendationengine 252 that provides media content recommendations in response tointeractions or conversations with the social messaging environment.

For example, in accordance with an embodiment, during the interaction248 by a user with the social messaging environment, the messagingapplication or bot can access the media server, via the recommendationAPI, and provide a user interaction information 245, to therecommendation engine, for its use in determining a media contentrecommendation 249, and populating 250 the media delivery component orstreaming service with the recommended media content 251.

The media server can then return, as part of the conversation or otherinteraction with the user, a media content recommendation in the form ofa link or other type of reference by which the user of the device canstream, download, access, or otherwise use the media content.

In accordance with an embodiment, the recommendation engine candetermine a media content recommendation based on criteria such as, forexample, a user's prior listening history, or favorite media content;other user characteristics such as demographic information;external-sourced information, such as the current weather at the user'slocations; or other types of criteria.

In accordance with an embodiment, once the link or other type ofreference to access the recommended media content has been returned tothe media device as part of the interaction, it can be processed by themedia device, to request that the recommended media content be returnedeither to the media device or to a controlled device, for playback atthat device.

For example, the link or reference to an item of media content can beprovided as:

https://open.spotify.com/track/01G6a8O85SXIH05upiDN1N

The above link can then be passed or otherwise processed by a mediaserver web service API, to request the associated media content.

In accordance with various embodiments, the messaging application ormedia content bot can either operate anonymously, or can perform anauthentication or account verification at the media server, for example,to indicate the user as a Spotify user, and customize the responseaccordingly.

Creation of Video Moments

In accordance with an embodiment, the system includes support forassociation of a song, music, or other media content with a user's videocontent.

The system enables a user to add a song, music, or other media contentthat is associated with an audio clip and a song metadata, of a mediacontent they may be currently listening, or have just listened, to avideo they are about to create, or have created. Using a video capturemode of a messaging application, or other video creation application,the user can associate a song metadata with a video, for example as anoverlay, to create a shareable file or other set of data, generallyreferred to herein as a video moment.

A recipient of the video moment hear the audio clip in combination withthe video content, and can also view the song metadata overlay, todetermine the name of the song and artist that was used in the video, oroptionally access the song at a media server, for further listening bythe recipient.

FIG. 3 illustrates the association of a song, music, or other mediacontent with a user's video content, to create a video moment, inaccordance with an embodiment.

As illustrated in FIG. 3, in accordance with an embodiment, a socialmessaging environment enables a messaging application, or other videocreation application, to be used by a user, to interact with a userenvironment or with other users of the social messaging environment.

As further illustrated in FIG. 3, in accordance with an embodiment, themessaging application enables the creation of video content, by a user,for example using a camera feature of their media device.

In accordance with an embodiment, the user can either capture a newvideo content, or can user the functionality of their media device toretrieve a previously-recorded and saved video content.

In accordance with an embodiment, the media server can include arecommendation engine, as described above, which can be used to providemedia content recommendations, in response to interactions orconversations with the system or with a social messaging environment.

In accordance with an embodiment, a user can interact with the socialmessaging environment, and utilize the video capabilities of theirmessaging application, together with a current playing song, last-playedsong, or other song or music 254, as provided by the media server, tocreate 256 a video moment.

In accordance with an embodiment, the video moment 260 can be associatedwith a song metadata 262 indicative of the, e.g., current playing song.

In accordance with an embodiment, the song metadata provides anindication, for example a descriptive song title, that a media servercan use to identify a particular song, music, or other media contentthat is stored at, or capable of being provided by, that media server;and to respond accordingly.

For example, in accordance with an embodiment, each particular item ofmedia content can be associated with a 30-second audio clip from arecognizable portion of that item of media content. A media server canprovide access to a 30-second clip API, which receives requests frommedia devices, or other devices or applications, that include aparticular song metadata, and responds by streaming or otherwiseproviding the 30-second audio clip associated with that song.

In accordance with an embodiment, other information that might be usefulin providing a context for the video moment, for example a locationinformation, or other information provided by sensors with a user'smedia device, can be associated with the video moment.

In accordance with an embodiment, a media file, for example a MovingPicture Experts Group (MPEG)-4 (MP4) file, or other type of media fileformat enabled by the capabilities of the media device and which enablesmetadata information to be associated with the video content of thatfile, for example as part of a file header information, can then becreated.

In accordance with an embodiment, once created, the video moment can beprovided 270, for example as an MP4 file, or other type of media file orset of data, to one or more users (recipients) 280, for example a userparticipating within the social messaging environment, where therecipient can either play 282 the video moment, and/or optionally access284 the media content identified by the song metadata, at the mediaserver.

FIG. 4 further illustrates the association of a song, music, or othermedia content with a user's video content, to create a video moment, inaccordance with an embodiment.

As illustrated in FIG. 4, in accordance with an embodiment, a user canindicate they wish to create a video moment (290).

A messaging application that enables creation of video content (e.g.,Snapchat, Messenger, Instagram, or other application or component), andwhich can be provided as software or program code that is executable bya computer system or other processing device, is opened, and a song ormusic portion added to a recorded video, to create a video moment (292,294).

For example, a user can long-press the video capture screen of theirmedia device, to add a current playing song to a messaging application,or to a media application or music player (e.g., a Spotify app); or alast-played song if no song is currently playing; to add the songmetadata to the video (296).

FIG. 5 further illustrates the association of a song, music, or othermedia content with a user's video content, to create a video moment, inaccordance with an embodiment.

As illustrated in FIG. 5, in accordance with an embodiment, once an,e.g., long-press action has been completed, a selected song metadata,e.g., song name and/or artist name 300, for the current song, music, orother media content can be added as an overlay to the video, so that therecipient can both hear the song clip, and see the song metadata whenthey view the video.

In accordance with various embodiments, the techniques described abovecan also be used in combination with features such as the programming ofsong suggestions, as described, for example, in U.S. Patent Applicationtitled “SYSTEM AND METHOD FOR PROGRAMMING OF SONG SUGGESTIONS FOR USERSOF A SOCIAL MESSAGING ENVIRONMENT”; application Ser. No. 15/858,457,filed Dec. 29, 2017; or the providing of a live lyrics overlay, asdescribed, for example, in U.S. Patent Application titled “SYSTEM ANDMETHOD FOR PROVIDING A VIDEO WITH LYRICS OVERLAY FOR USE IN A SOCIALMESSAGING ENVIRONMENT”; application Ser. No. 15/858,507, filed Dec. 29,2017; each of which above applications are herein incorporated byreference.

FIG. 6 illustrates a process of associating a song, music, or othermedia content with a user's video content, to create a video moment, inaccordance with an embodiment.

As illustrated in FIG. 6, in accordance with an embodiment, at step 302,a media application is provided for use in accessing media content at amedia server, for playing at a media device.

At step 304, a messaging application that enables creation of videocontent (e.g., Snapchat, Messenger, Instagram, or other application orcomponent) is opened, and a song or music portion added to a recordedvideo, to create a video moment.

At step 306, a current playing song, last-played song, or other song ormusic, is added as a song metadata to the video moment.

At step 308, upon receipt and playback of the video moment, by a user ofthe social messaging environment, the song metadata can be used inaccessing the media content at the media server.

In accordance with an embodiment, a method can, for example, comprisesome or all of the steps of (a) each media device client includes amedia application (e.g., Spotify app), and a messaging application(e.g., Messenger) that enables participation in a social messagingenvironment; (b) each media content item (e.g., audio clip of a song)accessible at the media server is associated with a reference, e.g., alink that allows the media content to be accessed at the media serverand played on the device; (c) while a user interacts with the messagingapplication, it can use the device camera to record a video (e.g., anMP4 file), for use with the messaging application; (d) while creatingthe video for use with the messaging application, a selected mediacontent item (e.g., an audio clip of a currently playing song) isassociated with the video; (e) also while creating the video, a metadatadescribing the selected media content item is associated with the video(e.g., as an MP4 header information); (f) the video, including metadatadescribing the selected media content item, is communicated to anotheruser (a recipient) of the messaging environment as a video moment; (g)the recipient plays the video moment, which provides access to themetadata and causes the selected media content item associated with thevideo to be accessed at the media server.

In accordance with an embodiment, a media server system for associationof a media content with a user's video content can, for example,comprise a computer, including a media server executing thereon which isconfigured to receive requests from media device clients to access mediacontent comprising at least a part of at least one song, whereby thesystem is operative to, from a video creation application (e.g., via amedia application acting as a client to the media server) in a firstmedia device, receive a request for media content to be associated witha video created by the video creation application; select an item (e.g.,audio clip of a song) of the media content; and to the video creationapplication, send a reference (e.g., a link) to the selected mediacontent item, and metadata of the selected media content item, forcreating a video moment. In accordance with an embodiment, optionallythe system can be operative to, from a messaging application in a secondmedia device (of a recipient user), receive a request for the selectedmedia content item based on the previously sent reference and metadata;and send the requested media content item to the messaging applicationfor playing the video moment at the second media device.

In accordance with an embodiment, a method performed by a media serversystem can comprise, for example, from a video creation application(e.g., via a media application acting as a client to the media server)in a first media device, receiving a request for media content to beassociated with a video created by the video creation application;selecting an item (e.g., audio clip of a song) of the media content; andto the video creation application, sending a reference (e.g., a link) tothe selected media content item, and metadata of the selected mediacontent item, for creating a video moment. In accordance with anembodiment, optionally the method can comprise, from a messagingapplication in a second media device (of a recipient user), receiving arequest for the selected media content item based on the previously sentreference and metadata; and sending the requested media content item tothe messaging application for playing the video moment at the secondmedia device.

In accordance with an embodiment, a method performed in a first mediadevice can, for example comprise, to a media server, from a videocreation application (e.g., via a media application acting as a clientto the media server) in the first media device, sending a request formedia content to be associated with a video created by the videocreation application; from the media server, to the video creationapplication, receiving a reference (e.g., a link) to a media contentitem, and metadata of the selected media content item; and creating avideo moment by means of the created video in combination with the mediacontent item accessed by means of the received reference.

In accordance with an embodiment, a video moment can comprise, forexample, audio of a song which is suggested by the system. When a useruses the application to create a video moment, the system may, e.g.,suggest a song as audio (suggested media content) for the video momentby means of the recommendation engine, e.g., in response to a requestfrom the application (possibly in the social messaging environment),which request may be sent, e.g., automatically in response to the usercreating the video moment or in response to an input by the user via theuser interface (for instance by long pressing).

In accordance with an embodiment, the messaging application can, forexample, obtain the audio/song for the video moment, communicate withthe media server system directly, or the messaging application maycommunicate with the media server system via the media application,regardless of whether the audio/song is selected by the user, by themessaging application, by the media application, or by therecommendation engine.

In accordance with an embodiment, in a case of the recommendation engineis used to suggest a media content, the messaging application can, forexample, be configured to, for instance in response to an input from theuser such as a long press on a touch screen of a display showing thevideo of the video moment, communicate a request to the recommendationengine which would cause the recommendation engine to provide asuggested audio/song for use in the video moment being created.

In accordance with an embodiment, in a case of the currently playingsong is instead used in creating the video moment, the messagingapplication can instead be configured to, for instance in response to aninput from the user such as a long press on a touch screen of a displayshowing the video of the video moment, associate the currently playingsong with the video moment being created.

Programming of Song Suggestions

In accordance with an embodiment, the system includes support forprogramming of song suggestions for users of a social messagingenvironment.

The system enables a user to add media content, for example a song ormusic, to a video, for sharing with other users.

A media server can provide media content recommendations or suggestions,in response to interactions or conversations with the system or with asocial messaging environment. The suggestions can be used to promptusers of social or messaging environments, to create user generatedcontent, thereby increasing the word-of-mouth, or viral distribution andpromotion of such media content.

For example, in accordance with an embodiment, the system can be used toenable a user to add a song, music, or other media content that isassociated with an audio clip and a song metadata, of a media contentthey may be currently listening, or have just listened, to a video theyare about to create, or have created. Using a video capture mode of amessaging application, or other video creation application, the user canassociate a song metadata with a video content. A recipient of the videocan hear the audio clip in combination with the video content, and canalso view the song metadata overlay, to determine the name of the songand artist that was used in the video, or optionally access the song ata media server, for further listening by the recipient.

FIG. 7 illustrates the programming of song suggestions for users of asocial messaging environment, in accordance with an embodiment.

As illustrated in FIG. 7, in accordance with an embodiment, a socialmessaging environment enables a messaging application, or video creationapplication, to be used by a user, to interact with a user environmentor with other users of the social messaging environment.

As further illustrated in FIG. 7, in accordance with an embodiment, amessaging application (e.g., a Snapchat, or Messenger, etc.application), or a user-generated video content application (e.g.,Instagram, etc.), enables the creation of video content, by a user, forexample using a camera feature of their media device.

In accordance with an embodiment, the media server can include arecommendation engine, as described above, which can be used to providemedia content recommendations or suggestions, in response tointeractions or conversations with the system or with a social messagingenvironment.

In accordance with an embodiment, a user can interact with the messagingapplication, or other video creation application, including utilizingits video capabilities, to create 312 a video presentation, incombination with a suggested media content 314.

In accordance with an embodiment, the media server can provide 315 a setof recommended or suggested media content options 316, which can bedisplayed on the user interface for viewing and selection by the user,in creating a video presentation 320.

In accordance with an embodiment, the video presentation can beassociated with a song metadata 322 indicative of the selected mediacontent.

In accordance with an embodiment, the song metadata provides anindication, for example a descriptive song title, that a media servercan use to identify a particular song, music, or other media contentthat is stored at, or capable of being provided by, that media server;and to respond accordingly.

For example, in accordance with an embodiment, each particular item ofmedia content can be associated with a 30-second audio clip from arecognizable portion of that item of media content. A media server canprovide access to a 30-second clip API, which receives requests frommedia devices, or other devices or applications, that include aparticular song metadata, and responds by streaming or otherwiseproviding the 30-second audio clip associated with that song.

In accordance with an embodiment, other information that might be usefulin providing a context for the video presentation, for example alocation information, or other information provided by sensors with auser's media device, can be associated with the video presentation.Generally, the actual content of the video is not analyzed for purposesof making a determination of the context associated with that videocontent.

In accordance with an embodiment, a media file, for example a MovingPicture Experts Group (MPEG)-4 (MP4) file, or other type of media fileformat enabled by the capabilities of the media device and which enablesmetadata information to be associated with the video content of thatfile, for example as part of a file header information, can then becreated.

In accordance with an embodiment, once created, the video presentationcan be provided 330, to one or more users (recipients) 340, for exampleas an MP4 file, or other type of media file or set of data, where therecipient can either play 342 the video presentation, and/or optionallyaccess 344 the media content identified by the song metadata, at themedia server.

FIG. 8 further illustrates the programming of song suggestions for usersof a social messaging environment, in accordance with an embodiment.

As illustrated in FIG. 8, in accordance with an embodiment, a user canindicate they wish to create a video presentation (350). A messagingapplication that enables creation of video content (e.g., Snapchat,Messenger, Instagram, or other application or component), is opened, tocreate a video presentation (352). For example, a user can long-press ona video creation screen to add a music clip to the video that they arecreating.

In accordance with an embodiment, a media server, or other musicstreaming service, can provides a list of suggestions, that can be usedto promote songs and artists, so that they can be distributed further asusers create user generated content (UGC) (354).

During recording of the video presentation, a selection can be made on avideo creation screen, to add a media content (e.g., music or song clip)to the video presentation being created, which enables a metadataassociated with the selected media content to be associated with thevideo presentation (356).

FIG. 9 further illustrates the programming of song suggestions for usersof a social messaging environment, in accordance with an embodiment.

As illustrated in FIG. 9, during recording of the video presentation, aselection can be made on a video creation screen, to add a media content(e.g., music or song clip) to the video presentation being created,which enables a metadata 360 associated with the selected media contentto be associated with the video presentation, so that the recipient 362can both hear the song clip, and see the song metadata when they play364 the video.

FIG. 10 illustrates a process of programming song suggestions for usersof a social messaging environment, in accordance with an embodiment.

As illustrated in FIG. 10, in accordance with an embodiment, at step370, a media application is provided for use in accessing media contentat a media server, for playing at a media device.

At step 372, a messaging application that enables creation of videocontent (e.g., Snapchat, Messenger, Instagram, or other application orcomponent), is opened, to create a video presentation.

At step 374, a media server, or other music streaming service, providesa list of suggestions, that can be used to promote songs and artists, sothat they can be distributed further as users create user generatedcontent (UGC).

At step 376, during recording of the video presentation, a selection canbe made on a video creation screen, to add a media content (e.g., musicor song clip) to the video presentation being created, which enables ametadata associated with the selected media content to be associatedwith the video presentation.

At step 378, upon receipt and playback of the video presentation, by auser, the song metadata can be used in accessing the media content atthe media server.

Embodiments of the present invention may be conveniently implementedusing one or more conventional general purpose or specialized digitalcomputer, computing device, machine, or microprocessor, including one ormore processors, memory and/or computer readable storage mediaprogrammed according to the teachings of the present disclosure.Appropriate software coding can readily be prepared by skilledprogrammers based on the teachings of the present disclosure, as will beapparent to those skilled in the software art.

In some embodiments, the present invention includes a computer programproduct which is a non-transitory storage medium or computer readablemedium (media) having instructions stored thereon/in which can be usedto program a computer to perform any of the processes of the presentinvention. Examples of the storage medium can include, but is notlimited to, any type of disk including floppy disks, optical discs, DVD,CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs,EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards,nanosystems (including molecular memory ICs), or any type of media ordevice suitable for storing instructions and/or data.

The foregoing description of embodiments of the present invention hasbeen provided for the purposes of illustration and description. It isnot intended to be exhaustive or to limit the invention to the preciseforms disclosed. Many modifications and variations will be apparent tothe practitioner skilled in the art.

For example, while the techniques described above generally illustrateexamples such as a music streaming service such as Spotify, and streamedmusic or song content, the systems and techniques described herein canbe similarly used with other types of media content environments, andother types of streamed data or media content.

The embodiments were chosen and described in order to best explain theprinciples of the invention and its practical application, therebyenabling others skilled in the art to understand the invention forvarious embodiments and with various modifications that are suited tothe particular use contemplated. It is intended that the scope of theinvention be defined by the following claims and their equivalents.

What is claimed is:
 1. A system for association of a song, music, or other media content with a user's video content, comprising: a computer, including a media server that executes thereon and is adapted to receive requests from client media devices to download, stream, or otherwise access media content; wherein each of one or more client media devices includes: a media application that communicates with, and controls playback of media content items received from the media server, for playing at a requesting or controlled media device; and a messaging application that provides access by the client media device to a social messaging environment and enables recording of video content; wherein each media content item accessible at the media server is associated with a reference that enables access to the media content item at the media server, for use by a requesting client media device; wherein during creation of a video presentation comprising a video content recorded at a particular client media device, utilizing the messaging application at the particular client media device, the media device: receives, from the media server, a set of media content options for display and selection at the particular media device client; receives as input a selection of a media content option from within the set of media content options, indicative of a request to associate a selected media content item with the video presentation being created; receives, from the media server in response to the received input, a reference associated with the selected media content item and a metadata that provides an indication of the selected media content item, which indication is usable by the media server to identify a particular media content item accessible at the media server; and creates a video presentation media file, including: the video content recorded by the messaging application, combined with a portion of the selected media content item received from the media server; and the reference and the metadata associated with the selected media content item as part of a video file header information, for use by a recipient media device, upon receipt of the media file, in accessing the selected media content item at the media server; and wherein the media server is configured to provide access to the selected media content item in response to a request from the recipient media device, including: receiving, from the recipient media device, a request for the selected media content item, using the reference and the metadata associated with the selected media content item as part of the video file header; and sending the selected media content item to the recipient media device, for playing at the recipient media device.
 2. The system of claim 1, wherein the metadata is associated with the video content, to create a shareable file or other set of data as a video moment.
 3. The system of claim 2, wherein the metadata enables a recipient of the video moment to access the song at the media server and view an indication of the name of the song and artist.
 4. The system of claim 1, wherein the messaging application is configured to access the media server and provide a user interaction data to cause the media server to determine a media content recommendation.
 5. A method for association of a song, music, or other media content with a user's video content, comprising: providing, at a computer, a media server that executes thereon and is adapted to receive requests from client media devices to download, stream or otherwise access media content; wherein each of one or more client media devices includes: a media application that communicates with, and controls playback of media content items received from the media server, for playing at a requesting or controlled media device; and a messaging application that provides access by the client media device to a social messaging environment and enables recording of video content; wherein each media content item accessible at the media server is associated with a reference that enables access to the media content item at the media server, for use by a requesting client media device; during creation of a video presentation comprising a video content recorded at a particular client media device, utilizing the messaging application at the particular client media device: receiving, from the media server, a set of media content options for display and selection at the particular media device client; receiving as input a selection of a media content option from within the set of media content options, indicative of a request to associate a selected media content item with the video presentation being created; receiving, from the media server in response to the received input, a reference associated with the selected media content item and a metadata that provides an indication of the selected media content item, which indication is usable by the media server to identify a particular media content item accessible at the media server; and creating a video presentation media file, including: the video content recorded by the messaging application, combined with a portion of the selected media content item received from the media server; and the reference and the metadata associated with the selected media content item as part of a video file header information, for use by a recipient media device, upon receipt of the media file, in accessing the selected media content item at the media server; and wherein the media server is configured to provide access to the selected media content item in response to a request from the recipient media device, including: receiving, from the recipient media device, a request for the selected media content item, using the reference and the metadata associated with the selected media content item as part of the video file header; and sending the selected media content item to the recipient media device, for playing at the recipient media device.
 6. The method of claim 5, wherein the metadata is associated with the video content, to create a shareable file or other set of data as a video moment.
 7. The method of claim 6, wherein the metadata enables a recipient of the video moment to access the song at the media server and view an indication of the name of the song and artist.
 8. The method of claim 5, wherein the messaging application is configured to access the media server and provide a user interaction data to cause the media server to determine a media content recommendation.
 9. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform the steps comprising: providing, at a computer, a media server that executes thereon and is adapted to receive requests from client media devices to download, stream or otherwise access media content; wherein each of one or more client media devices includes: a media application that communicates with, and controls playback of media content items received from the media server, for playing at a requesting or controlled media device; and a messaging application that provides access by the client media device to a social messaging environment and enables recording of video content; wherein each media content item accessible at the media server is associated with a reference that enables access to the media content item at the media server, for use by a requesting client media device; during creation of a video presentation comprising a video content recorded at a particular client media device, utilizing the messaging application at the particular client media device: receiving, from the media server, a set of media content options for display and selection at the particular media device client; receiving as input a selection of a media content option from within the set of media content options, indicative of a request to associate a selected media content item with the video presentation being created; receiving, from the media server in response to the received input, a reference associated with the selected media content item and a metadata that provides an indication of the selected media content item, which indication is usable by the media server to identify a particular media content item accessible at the media server; and creating a video presentation media file, including: the video content recorded by the messaging application, combined with a portion of the selected media content item received from the media server; and the reference and the metadata associated with the selected media content item as part of a video file header information, for use by a recipient media device, upon receipt of the media file, in accessing the selected media content item at the media server; and wherein the media server is configured to provide access to the selected media content item in response to a request from the recipient media device, including: receiving, from the recipient media device, a request for the selected media content item, using the reference and the metadata associated with the selected media content item as part of the video file header; and sending the selected media content item to the recipient media device, for playing at the recipient media device.
 10. The non-transitory computer readable storage medium of claim 9, wherein the metadata is associated with the video content, to create a shareable file or other set of data as a video moment.
 11. The non-transitory computer readable storage medium of claim 10, wherein the metadata enables a recipient of the video moment to access the song at the media server and view an indication of the name of the song and artist.
 12. The non-transitory computer readable storage medium of claim 9, wherein the messaging application is configured to access the media server and provide a user interaction data to cause the media server to determine a media content recommendation.
 13. The system of claim 1, wherein the metadata describes a song currently playing or just played at the media application.
 14. The method of claim 5, wherein the metadata describes a song currently playing or just played at the media application.
 15. The non-transitory computer readable storage medium of claim 9, wherein the metadata describes a song currently playing or just played at the media application.
 16. The system of claim 1, wherein during creation of the video file using the video capture mode of the messaging application, the selected media content item is associated with the video file in response to a long press gesture received at a user interface of the client media device.
 17. The method of claim 5, wherein during creation of the video file using the video capture mode of the messaging application, the selected media content item is associated with the video file in response to a long press gesture received at a user interface of the client media device.
 18. The non-transitory computer readable storage medium of claim 9, wherein during creation of the video file using the video capture mode of the messaging application, the selected media content item is associated with the video file in response to a long press gesture received at a user interface of the client media device.
 19. The system of claim 1, wherein the selected media content item is at least one of a currently playing song or a last-played song.
 20. The method of claim 5, wherein the selected media content item is at least one of a currently playing song or a last-played song. 